// https://juejin.cn/post/7297154281870344244?searchId=202411061019515905C69A2CE3F8FFE382

// https://juejin.cn/post/7211422882252947515
// LHS：赋值操作的左侧查询。这并不意味着 LHS 就是赋值符号左侧的操作。大家可以用这句话进行理解 找到变量，对其赋值
// RHS：赋值操作的右侧查询。同样的道理，它也并不是赋值符号的右侧操作。大家可以用这句话进行理解 取得某变量的值

// LHS：var c = xx
// RHS：foo(2)
// LHS：a = 2
// LHS：var b = xx
// RHS: xxx = a
// RHS：a
// RHS：b

// >https://github.com/getify/You-Dont-Know-JS/tree/2ed-zh-CN
// 赋值操作的目标是谁,那么就是LHS(Left-hand Side左侧引用查找), 谁是赋值操作的源头,则就是RHS(右侧引用查找)

const obj = {};

// 那么LHS和RHS在当前作用域当中如果没有找到所需的标识符 就会根据作用域链向上一级作用域继续查找该标识符, 以此类推这样每次上升一层作用域去查找, 最后到达全局作用域就会停止, 这也是我们之前讲过的作用域链!

// 当RHS查询当前作用域中如果找不到变量，引擎会抛出ReferenceError错误

// 当JS引擎执行LHS查询时，如果在所有作用域中找不到目标变量，就会在全局作用域中创建一个与该变量名相同的全局变量，并将其返回给JS引擎，前提是在非严格模式下 这也正好呼应了我们前面所讲解的隐式全局变量的真正含义!

// 但是如果是严格模式下会ReferenceError的错误

// ```js
// 'use quirk'
// function test(){
//     a=100;
// }
// test();
// console.log(a);
// ```

export {};
